package com.itheima.d3_buffer;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Collections;

//目标：把《出师表》的文章顺序进行恢复到一个新文件中
public class Demo05 {
    public static void main(String[] args) throws Exception {
        //思路：可以先把文件中的每一行读出之后放入集合中排序，然后再从集合中取出，并写出到文件中
        //1.创建缓冲字符输入流，定位要读取的文件
        BufferedReader br = new BufferedReader(new FileReader("day09-io\\resources\\csb.txt"));

        //2.创建一个ArrayList集合，用来存储读取到的每一行
        ArrayList<String> list = new ArrayList<>();

        //3.循环读取行，只要读到的行不是null，就继续读
        String line;
        while ((line = br.readLine()) != null) {
            //4.读到的行字符串，添加到集合
            list.add(line);
        }

        //5.对集合进行升序排序
        Collections.sort(list);

        //6.创建缓冲字符输出流，定位要写出的文件
        BufferedWriter bw = new BufferedWriter(new FileWriter("day09-io\\resources\\new-csb.txt"));

        //7.遍历List集合，获取一行，写出一行，记得换行
        for (String str : list) {
            bw.write(str);
            bw.newLine();
        }



        //8.刷新和释放资源
        bw.flush();
        bw.close();
        br.close();
    }
}
